<html>
				<head>
				<meta http-equiv="content-type" content="text/html; charset=UTF-8">
				</head>
				<body><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.freebsd.org/cgi/man.cgi?query=PMAP_COPY&sektion=9&apropos=0&manpath=FreeBSD+6.1-RELEASE">PMAP_COPY(9)</a> FreeBSD Kernel Developer's Manual <a href="http://www.freebsd.org/cgi/man.cgi?query=PMAP_COPY&sektion=9&apropos=0&manpath=FreeBSD+6.1-RELEASE">PMAP_COPY(9)</a></pre>
<pre>
<b>名称</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pmap_copy, pmap_copy_page -- 拷贝物理内存页</pre>
<pre>
<b>概要</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#include &lt;<font color="dark">sys/param.h</font>&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#include &lt;<font color="dark">vm/vm.h</font>&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#include &lt;<font color="dark">vm/pmap.h</font>&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="red">void</font> <font color="blue">pmap_copy</font>(<font color="red">pmap_t</font> <font color="green">dst_pmap</font>, <font color="red">pmap_t</font> <font color="green">src_pmap</font>, <font color="red">vm_offset_t</font> <font color="green">dst_addr</font>, <font color="red">vm_size_t</font> <font color="green">len</font>, <font color="red">vm_offset_t</font> <font color="green">src_addr</font>); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="red">void</font> <font color="blue">pmap_copy_page</font>(<font color="red">vm_page_t</font> <font color="green">src</font>, <font color="red">vm_page_t</font> <font color="green">dst</font>);</pre>
<pre>
<b>详述</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>pmap_copy()</font>函数用来拷贝由源物理映射src_map中<font color="green">src_addr</font>开始的<font color="green">len</font>字节长的数据到
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;目的物理映射<font color="green">dst_pmap</font>中的地址<font color="green">dst_addr</font>。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>pmap_copy_page()</font>函数用来将物理页<font color="green">src</font>拷贝到物理页<font color="green">dst</font>。首先将待拷贝页面映射到
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内核虚拟地址空间(KVA)，然后用<font color=blue>bcopy()</font>进行页面拷贝。</pre>
<pre>
<b>实现笔记</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>pmap_copy()</font>例程仅仅是一种参考(advisory XXX)，它不需要做什么事。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实际上，实现它可能会严重降低系统性能。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>pmap_copy_page()</font>例程一次只能操作一个页面。</pre>
<pre>
<b>参见</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.freebsd.org/cgi/man.cgi?query=bcopy&sektion=3&apropos=0&manpath=FreeBSD+6.1-RELEASE">bcopy(3)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=pmap&sektion=9&apropos=0&manpath=FreeBSD+6.1-RELEASE">pmap(9)</a></pre>
<pre>
<b>作者</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本手册页由Bruce M Simpson&lt;bms@spc.org&gt;撰写。</pre>
</pre>
</body></html>